package models.common.entity;

import java.util.Date;

import javax.persistence.Entity;

import play.db.jpa.Model;

/**
 * 管理员审核表
 *
 * @description 
 *
 * @author zhiliang.lan
 * @createDate 2017年4月14日
 */

@Entity
public class t_supervisor_audit extends Model{

	/**
	 * 构造器
	 */
	public t_supervisor_audit(){
		
	}
	
    /** 类型  1 商票  2 材料 */
	public int type;
    
	/** 类型  1 商票  2 材料 */
	public AuditIteamType getType() {
		AuditIteamType auditIteamType = AuditIteamType.getEnum(this.type);
		return auditIteamType;
	}

	public void setType(AuditIteamType auditIteamType) {
		this.type = auditIteamType.code;
	}
    
    public enum AuditIteamType{
		
		/** 商票 */
		COMMERCIAL_PAPER(1,"商票"),
		
		/** 材料 */
		MATERIAL_PAPER(2,"材料");
		
		public int code;
		public String value;
		
		private AuditIteamType(int code, String value) {
			this.code = code;
			this.value = value;
		}
		
		/**
		 * 根据code取得会员类型,没有找到返回null
		 * @description 
		 * @return
		 */
		public static AuditIteamType getEnum(int code){
			AuditIteamType[] memberTypes = AuditIteamType.values();
			for (AuditIteamType memberType : memberTypes) {
				if (memberType.code == code) {

					return memberType;
				}
			}
			
			return COMMERCIAL_PAPER;
		}
	}

    /** 材料id */
    public long data_id;

    /** 管理员id */
    public long supervisor_id;

    /** 管理员账号 */
    public String supervisor_name;

    /** 审核时间 */
    public Date audit_time=new Date();

    /**  审核结果 0 未审核 1 审核未通过 2  审核通过 */
    public  int audit_result;
    
    /**  审核结果 0 未审核 1 审核未通过 2  审核通过 */
	public AuditResult getAudit_result() {
		AuditResult auditResult = AuditResult.getEnum(this.audit_result);
		return auditResult;
	}

	public void setAudit_result(AuditResult auditResult) {
		this.audit_result = auditResult.code;
	}
    
    public enum AuditResult{
		
		/** 未审核 */
		HAVE_NO_AUDIT(0,"未审核"),
		
		/**  审核未通过 */
		AUDIT_FAILED(1," 审核未通过"),
		
		/** 审核通过 */
		AUDIT_PASS(2,"审核通过");
		
		public int code;
		public String value;
		
		private AuditResult(int code, String value) {
			this.code = code;
			this.value = value;
		}
		
		/**
		 * 根据code取得会员类型,没有找到返回null
		 * @description 
		 * @return
		 */
		public static AuditResult getEnum(int code){
			AuditResult[] memberTypes = AuditResult.values();
			for (AuditResult memberType : memberTypes) {
				if (memberType.code == code) {

					return memberType;
				}
			}
			
			return HAVE_NO_AUDIT;
		}
	}
    

    /** 描述   （失败的时候需要填写原因）*/
    public String remark;

    
}